SQlite源码分析

动态内存分配器

SQLite源代码包含几种不同的内存分配器模块,可以在编译时选择,或在启动时作为一个有限的扩展。SQLite需要动态分配一块内存时,它通常是调用底层操作系统默认的内存处理函数,使SQLite从应用程序堆中分配内存。然而,程序员可以通过sqlite3_config函数配置SQLite,使其进行自己的内部的内存管理。 SQLite负责内存管理的模块是malloc.c,其中实现了很多特性。包括内存无泄漏,内存使用统计,内存使用设置上限等。